1. Field of the Invention
The present invention relates to facilitating control within Industry Standard Architecture (ISA) compatible laptop computers. Specifically, the invention involves a way to alter conventional keyboard scanning methods to more efficiently read a keyboard which is an integral part of the computer.
2. Description of the Related Art
Conventional ISA (i.e. IBM-AT) compatible computers utilize an integrated circuit (IC) intelligent peripheral microcontroller to perform various control functions between a master processor (the host--the master central processing unit and supporting resources) and various peripheral devices. Typical I/O functions performed by the peripheral microcontroller involve scanning a keyboard and providing an interface between peripheral devices and the host. The microcontroller interfaces these peripheral devices with the standard ISA data and control busses. The microcontroller provides registers which enable it to function as one peripheral device to the master processor. The microcontroller performs the basic I/O functions for other peripheral devices so the host does not have to use processor time to perform these functions. The host only communicates with the peripheral microcontroller which performs the processing necessary to support the other peripheral devices.
The INTEL 8042 and 8742 integrated circuits are common peripheral microcontrollers for the ISA compatible computer architecture. The use of the 8042 and the 8742 integrated circuits in laptop computers is undesirable because these integrated circuits utilize older technology which consumes too much power. For instance, the INTEL 8742 is a 50 mA IC. Moreover, these IC's operate in a continuous active mode in which they continuously poll an input register flag to determine if the host has written data to the input register of the peripheral controller, a keyboard, mouse clock and data signals to determine if the mouse has moved, and other I/O peripheral devices to determine if data needs to be transferred.
In laptop computers which can operate on rechargeable batteries, any reduction in power consumption results in an increase in battery life (i.e. time between battery recharging). However, most presently available laptops continue to utilize the conventional peripheral microcontrollers.
It is therefore desirable to provide a controller for use in laptop computers which consumes substantially less power than the conventional peripheral microcontrollers.
Newer technologies, such as CMOS (complementary metal oxide semiconductor) exist which allow design of application specific integrated circuits (ASIC) which consume less power than the conventional peripheral microcontroller. Simply implementing the conventional controller with CMOS technology would decrease power consumption. However, the inefficient active polling of conventional peripheral controllers would continue to consume more power than is desirable because CMOS circuits consume more power when active than when idle.
Moreover, under the conventional design, the keyboard requires an additional IC to scan the keyboard matrix to determine if a key has been pressed. The keyboard scanner then determines which key has been pressed and converts the key position into a scan code for transmission to the conventional peripheral microcontroller. The peripheral controller then forwards the scan code to the host. The extra keyboard scanner IC consumes further power which is undesirable.
Therefore, it is further desirable to eliminate the separate IC which scans the keyboard and generates scan codes for the peripheral microcontroller. Advantageously, the peripheral controller provides all the keyboard control and only scans the keyboard when a key has been pressed. This reduces the power consumption of the computer, and thereby, extends battery life.